package com.lesson02_OOP;

public class  Phone{
    // 定义类中的属性
    private String color;
    private String kind;
    private double size;

    // 构造函数，构造器，不能称为构造方法
    // 定义： 与类同名的函数
    // 作用: 初始化成员变量
    // 注意： 一旦我们显示定义构造函数，类中默认的空的构造函数就会被覆盖。
    public Phone() {
        System.out.println("无参数构造函数");
    }

    public Phone(int i) {
        System.out.println("无参数构造函数");
    }

    public Phone(String kind, String color) {
        // this 就是谁使用指向谁
        this.kind = kind;
        this.color = color;
        System.out.println("2个参数构造函数");
    }



    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }



    public double getSize() {
        return size;
    }

    public void setSize(double size) {
        this.size = Math.abs(size);
    }

    // 定义方法
    public void call() { //打电话
        System.out.println("打电话");
    }

    void sendMsg() { // 发短信
        System.out.println("发短信");
    }

    void chat() { // 聊天
        System.out.println("聊微信");
    }

    // 快捷键: main,Alt+/
    public static void main(String[] args) {
        // 创建一个手机
        // 自动补全: CTRL+2,L
        Phone phone = new Phone();

        phone.color = "金黄色";
        phone.kind = "苹果黑";
        phone.size = 15.5;
        // 调用方法
        phone.call();
        phone.sendMsg();
        phone.chat();
        ///-------------------------------
        Phone phone1 = new Phone(10);
        // 用户带2个参数构造函数构建对象
        Phone phone2 = new Phone("华为", "墨绿");
        phone2.size = 15.5;
    }
}